﻿using GZHJ.Tool;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VM.Shared.ReturnValue;
using VM.Shared.外部访问;

namespace PowerSupply
{
    public class Power
    {
        public bool 供电状态 { get; set; }
        public ReturnError 供电(int stationNumb)
        {
            供电状态 = true;
            bool setOK = false;
            string 错误信息 = "";
            ReturnError returnError = new ReturnError();
            if (stationNumb == 2)//工位2的供电
            {
                setOK = IO模块.设置输出("继电器模块2", 16, false, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块2 16 OFF 失败";
                    return returnError;
                }
                setOK = IO模块.设置输出("继电器模块2", 17, false, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块2 17 OFF 失败";
                    return returnError;
                }
                setOK = IO模块.设置输出("继电器模块2", 13, true, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块2 13 ON 失败";
                    return returnError;
                }
                setOK = IO模块.设置输出("继电器模块2", 1, true, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块2  1 ON 失败";
                    return returnError;
                }
                setOK = IO模块.设置输出("继电器模块2", 2, true, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块2  2 ON 失败";
                    return returnError;
                }
                setOK = IO模块.设置输出("继电器模块2", 3, true, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块2  3 ON 失败";
                    return returnError;
                }
                returnError.IsOK = true;
                returnError.ErrStr = "";
                return returnError;
            }
            else//这是工位1 的供电 默认工位1
            {
                setOK = IO模块.设置输出("继电器模块1", 14, false, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块1 14 OFF 失败";
                    return returnError;
                }
                setOK = IO模块.设置输出("继电器模块1", 15, false, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块1 15 OFF 失败";
                    return returnError;
                }
                setOK = IO模块.设置输出("继电器模块1", 13, true, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块1 13 ON 失败";
                    return returnError;
                }
                setOK = IO模块.设置输出("继电器模块1", 1, true, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块1  1 ON 失败";
                    return returnError;
                }
                setOK = IO模块.设置输出("继电器模块1", 2, true, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块1  2 ON 失败";
                    return returnError;
                }
                setOK = IO模块.设置输出("继电器模块1", 3, true, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块1  3 ON 失败";
                    return returnError;
                }
                returnError.IsOK = true;
                returnError.ErrStr = "";
                return returnError;
            }

        }
        public ReturnError 断电(int stationNumb)
        {

            供电状态 = true;
            bool setOK = false;
            string 错误信息 = "";
            ReturnError returnError = new ReturnError();
            if (stationNumb == 2)//工位2的供电
            {
                setOK = IO模块.设置输出("继电器模块2", 15, false, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块2 15 OFF 失败";
                    return returnError;
                }
                setOK = IO模块.设置输出("继电器模块2", 17, false, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块2 17 OFF 失败";
                    return returnError;
                }
                setOK = IO模块.设置输出("继电器模块2", 13, false, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块2 13 ON 失败";
                    return returnError;
                }
                setOK = IO模块.设置输出("继电器模块2", 1, false, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块2  1 ON 失败";
                    return returnError;
                }
                setOK = IO模块.设置输出("继电器模块2", 2, false, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块2  2 ON 失败";
                    return returnError;
                }
                setOK = IO模块.设置输出("继电器模块2", 3, false, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块2  3 ON 失败";
                    return returnError;
                }
                returnError.IsOK = true;
                returnError.ErrStr = "";
                return returnError;
            }
            else//这是工位1 的供电 默认工位1
            {
                setOK = IO模块.设置输出("继电器模块1", 14, false, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块1 14 OFF 失败";
                    return returnError;
                }
                setOK = IO模块.设置输出("继电器模块1", 12, false, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块1 12 OFF 失败";
                    return returnError;
                }
                setOK = IO模块.设置输出("继电器模块1", 13, false, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块1 13 ON 失败";
                    return returnError;
                }
                setOK = IO模块.设置输出("继电器模块1", 1, false, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块1  1 ON 失败";
                    return returnError;
                }
                setOK = IO模块.设置输出("继电器模块1", 2, false, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块1  2 ON 失败";
                    return returnError;
                }
                setOK = IO模块.设置输出("继电器模块1", 3, false, out 错误信息);
                if (!setOK)
                {
                    returnError.IsOK = false;
                    returnError.ErrStr = "继电器模块1  3 ON 失败";
                    return returnError;
                }
                returnError.IsOK = true;
                returnError.ErrStr = "";
                return returnError;
            }
        }
        public PowerValue 电源(int stationNumb)
        {
            var ss = new PowerValue() { };
            ss.打开 = 供电状态;
            return ss;
        }


        ////以下是恢复出厂的，2024-12-06
        //public ReturnError 供电(int stationNumb)
        //{
        //    this.供电状态 = true;
        //    string text = "";
        //    ReturnError returnError = default(ReturnError);
        //    bool flag = stationNumb == 2;
        //    ReturnError returnError2;

        //    if (flag)
        //    {
        //        bool flag2 = IO模块.设置输出("继电器模块1", 1, true, out text);
        //        bool flag3 = !flag2;
        //        if (flag3)
        //        {
        //            returnError.IsOK = false;
        //            returnError.ErrStr = "继电器模块1 1 ON 失败";
        //            returnError2 = returnError; 
        //            LogHelper.Error($"继电器模块1-2 ON 失败，{text}");
        //        }
        //        else
        //        {
        //            returnError.IsOK = true;
        //            returnError.ErrStr = "";
        //            returnError2 = returnError;
        //        }
        //    }
        //    else
        //    {
        //        bool flag4 = stationNumb == 1;
        //        if (flag4)
        //        {
        //            bool flag2 = IO模块.设置输出("继电器模块1", 0, true, out text);
        //            bool flag5 = !flag2;
        //            if (flag5)
        //            {
        //                returnError.IsOK = false;
        //                returnError.ErrStr = "继电器模块1 0 ON 失败";
        //                returnError2 = returnError;
        //                LogHelper.Error($"继电器模块1-1 ON 失败，{text}");
        //            }
        //            else
        //            {
        //                returnError.IsOK = true;
        //                returnError.ErrStr = "";
        //                returnError2 = returnError;
        //            }
        //        }
        //        else
        //        {
        //            bool flag6 = stationNumb == 3;
        //            if (flag6)
        //            {
        //                bool flag2 = IO模块.设置输出("继电器模块1", 2, true, out text);
        //                bool flag7 = !flag2;
        //                if (flag7)
        //                {
        //                    returnError.IsOK = false;
        //                    returnError.ErrStr = "继电器模块1 2 ON 失败";
        //                    returnError2 = returnError;
        //                    LogHelper.Error($"继电器模块1-3 ON 失败，{text}");
        //                }
        //                else
        //                {
        //                    returnError.IsOK = true;
        //                    returnError.ErrStr = "";
        //                    returnError2 = returnError;
        //                }
        //            }
        //            else
        //            {
        //                bool flag2 = IO模块.设置输出("继电器模块1", 3, true, out text);
        //                bool flag8 = !flag2;
        //                if (flag8)
        //                {
        //                    returnError.IsOK = false;
        //                    returnError.ErrStr = "继电器模块1 3 ON 失败";
        //                    returnError2 = returnError;
        //                    LogHelper.Error($"继电器模块1-4 ON 失败，{text}");
        //                }
        //                else
        //                {
        //                    returnError.IsOK = true;
        //                    returnError.ErrStr = "";
        //                    returnError2 = returnError;
        //                }
        //            }
        //        }
        //    }
        //    return returnError2;
        //}

        //// Token: 0x06000004 RID: 4 RVA: 0x000021FC File Offset: 0x000003FC
        //public ReturnError 断电(int stationNumb)
        //{
        //    this.供电状态 = true;
        //    string text = "";
        //    ReturnError returnError = default(ReturnError);
        //    bool flag = stationNumb == 2;
        //    ReturnError returnError2;
        //    if (flag)
        //    {
        //        bool flag2 = IO模块.设置输出("继电器模块1", 1, false, out text);
        //        bool flag3 = !flag2;
        //        if (flag3)
        //        {
        //            returnError.IsOK = false;
        //            returnError.ErrStr = "继电器模块1 1 OFF 失败";
        //            returnError2 = returnError;
        //        }
        //        else
        //        {
        //            returnError.IsOK = true;
        //            returnError.ErrStr = "";
        //            returnError2 = returnError;
        //        }
        //    }
        //    else
        //    {
        //        bool flag4 = stationNumb == 1;
        //        if (flag4)
        //        {
        //            bool flag2 = IO模块.设置输出("继电器模块1", 0, false, out text);
        //            bool flag5 = !flag2;
        //            if (flag5)
        //            {
        //                returnError.IsOK = false;
        //                returnError.ErrStr = "继电器模块1 0 OFF 失败";
        //                returnError2 = returnError;
        //            }
        //            else
        //            {
        //                returnError.IsOK = true;
        //                returnError.ErrStr = "";
        //                returnError2 = returnError;
        //            }
        //        }
        //        else
        //        {
        //            bool flag6 = stationNumb == 3;
        //            if (flag6)
        //            {
        //                bool flag2 = IO模块.设置输出("继电器模块1", 2, false, out text);
        //                bool flag7 = !flag2;
        //                if (flag7)
        //                {
        //                    returnError.IsOK = false;
        //                    returnError.ErrStr = "继电器模块1 2 OFF 失败";
        //                    returnError2 = returnError;
        //                }
        //                else
        //                {
        //                    returnError.IsOK = true;
        //                    returnError.ErrStr = "";
        //                    returnError2 = returnError;
        //                }
        //            }
        //            else
        //            {
        //                bool flag2 = IO模块.设置输出("继电器模块1", 3, false, out text);
        //                bool flag8 = !flag2;
        //                if (flag8)
        //                {
        //                    returnError.IsOK = false;
        //                    returnError.ErrStr = "继电器模块1 3 OFF 失败";
        //                    returnError2 = returnError;
        //                }
        //                else
        //                {
        //                    returnError.IsOK = true;
        //                    returnError.ErrStr = "";
        //                    returnError2 = returnError;
        //                }
        //            }
        //        }
        //    }
        //    return returnError2;
        //}

        //// Token: 0x06000005 RID: 5 RVA: 0x00002394 File Offset: 0x00000594
        //public PowerValue 电源(int stationNumb)
        //{
        //    PowerValue powerValue = default(PowerValue);
        //    powerValue.打开 = this.供电状态;
        //    return powerValue;
        //}
    }
}
